/* chalk : 作用是 “为终端（命令行）输出的文本添加颜色、背景色和样式 
        *注意：chalk的样式都是可以通过链式调用组合多种样式 */

/* 典型使用流程:
        (1)npm insatll chalk
        (2)第三方库导入：
                ES6 => import chalk from 'chalk'
                注意：halk@5+ 仅支持 ES 模块（import 语法）
        (3)使用：
                基础使用 => chalk.red('这是红色文本')
                链式调用 => chalk.red.bold.underline('红色、加粗、下划线的文本')
*/

//卸载原装代码：npm uninstall chalk
//重装最新代码：npm install chalk@latest

/* 常用 API 与样式 */
import chalk from 'chalk'

console.log("文本颜色演示：")
//（1）文本颜色：
//      正常颜色文本 => chalk.颜色（'文本'） 
//      亮色颜色文本 => chalk.颜色Bright（'文本'）
console.log(chalk.red('这个红色文本'))
console.log(chalk.redBright('这是亮红色文本'))

console.log("")


console.log("背景颜色演示：")
//（2）背景颜色：
//      正常颜色背景 => chalk.bg+颜色
//      亮色颜色文本 => chalk.bg+颜色+Bright
console.log(chalk.bgCyan('青蓝色背景'))
console.log(chalk.black.bgYellow('黑色文字，黄色背景'))
console.log(chalk.bgCyanBright('亮青蓝色背景'))

console.log("")


console.log("文本样式演示：")
//（3）文本样式：
//      加粗 => chalk.bold()
//      斜体 => chalk.italic()（部分终端可能不支持）
//      下划线 => chalk.underline()
//      删除线 => chalk.strikethrough()
//      反转前景色和背景色 =>  chalk.inverse()
console.log(chalk.bold('加粗文字'))
console.log(chalk.italic('斜体文字'))
console.log(chalk.underline('下划线文字'))
console.log(chalk.strikethrough('删除线文字'))
console.log(chalk.inverse('反转前景色和背景色'))

console.log("")

console.log("多种组合样式演示：")
let name = 'Mary'
let age = 18
console.log(chalk.white.bgBlue(`我的名字是：${chalk.bgGreenBright.bold(name)},我今年${chalk.bgCyan(age)}`))

console.log("")

console.log("禁用样式演示：")
//(4)禁用样式:
//      chalk.level = 0
// 0：禁用所有样式；1：仅基础颜色；2：基础颜色+亮色；3：支持所有样式（默认）
chalk.level = 0
console.log(chalk.red('这段文本不会有颜色'))

//注意：使用禁用样式之后，后面的所有都被禁止了









